package com.digui;

import java.io.File;

/**
 * 文件搜索：去F盘搜索文件：面向对象.txt
 */

public class diguiDemo4 {
    public static void main(String[] args) {
        searchFile(new File("F:/"),"PDL.chm");
    }

    /**
     * 搜索一个目录下所有文件，找到我们想要的文件
     * @param f 被搜索的文件目录
     * @param filename 要搜索的文件名
     */
    public static void searchFile(File f,String filename){
        //1.首先判断传进来的f是不是文件夹，因为只有文件夹才可以递归，文件就是直接判断是不是我们要找的文件就好了
        if (f!=null&&f.isDirectory()){
            //2.获取当前目录的一级文件
            File[] files = f.listFiles();
            if (files.length>0&&files!=null){
                //遍历文件查找
                for (File file : files) {
                    if (file!=null){
                        //如果file是文件的话
                        if (file.isFile()){
                            //就判断该文件是不是我们要找的文件
                            if (f.getName().equals(filename)){
                                System.out.println(f.getAbsolutePath());
                            }
                        }else if (file.isDirectory()){
                            //如果问价是文件夹的话就递归查找下一个文件夹
                            searchFile(file,filename);
                        }
                    }

                }
            }else{
                System.out.println("改文件加目录为空");
            }
        }else{
            System.out.println("你输入的不是一个文件夹，不能搜索");
        }


    }
}
